#include "Factor.h"

Factor::Factor(std::string nombreFactor, std::ifstream *archivo){
		
	    nombre=nombreFactor;
	    int cant=0;
	    int min=0;
	    int max=0;
	    int valor=0;
	    *archivo	>>cant;
	    /*Lee los valores del archivo y crea los periodos*/
	    for(int i=0;i<cant;i++){
			*archivo>>min;
			*archivo>>max;
			*archivo>>valor;
			vectorPeriodos.push_back(new Periodo(min,max,valor));
	    }	
}

Factor::~Factor(){

	std::vector<Periodo*>::iterator it;
	for (it=vectorPeriodos.begin();it!=vectorPeriodos.end();it++)
		  delete (*it);
}
	
int Factor:: getValor(int dato){
	
        /*Recorre todo los periodos buscando que en cual se encutra comprendido*/			
	std::vector<Periodo*>::iterator it;
	for (it=vectorPeriodos.begin();it!=vectorPeriodos.end();it++)	{
		if( (*it)->estaEntre(dato) ){
			return 	(*it)->devolverValor();		
		}	
	}			
	return 0;
}

std::string Factor::getNombre(){
		return nombre;
}
